package com.insigma.business.qrcode.soldier._bff;

import com.insigma.business.qrcode.common.annotation.ApiServiceType;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.soldier.dto.PlacementBatchDTO;
import com.insigma.business.qrcode.soldier.dto.PlacementSoldierInfoDTO;
import com.insigma.business.qrcode.soldier.dto.PlacementSoldierInfoUpdateRequest;
import com.insigma.business.qrcode.soldier.request.CommonRepresentationRecordInsertRequest;
import com.insigma.business.qrcode.soldier.request.PlacementInfoSearchRequest;

public interface PlacementSoldierInfoBFFProvider {


    @ApiServiceType(value = "soldier.ss.placement.alipay.sign.in", name = "用户登入", desc = "用户登入", opsLog = "安置")
    BaseResponse<PlacementSoldierInfoDTO> signInByIdCardOfAlipay();


    @ApiServiceType(value = "soldier.ss.placement.process", name = "查看用户进度", desc = "查看用户进度")
    BaseResponse<PlacementSoldierInfoDTO> getPlacementProcess();


    @ApiServiceType(value = "soldier.ss.placement.view.deadline", name = "查看统一安置截止时间", desc = "查看统一安置截止时间")
    BaseResponse<PlacementBatchDTO> viewDeadline(final PlacementInfoSearchRequest placementInfoInsertRequest);


    @ApiServiceType(value = "soldier.ss.placement.info.my", name = "过滤后的信息", desc = "过滤后的信息")
    BaseResponse<PlacementSoldierInfoDTO> getFilteredSoldierDetail();

    @ApiServiceType(value = "soldier.ss.placement.base.info.confirm", name = "导入退役军人", desc = "导入退役军人", opsLog = "安置")
    BaseResponse<Integer> confirmBaseInfo(final PlacementSoldierInfoUpdateRequest placementSoldierInfoUpdateRequest);


    @ApiServiceType(value = "soldier.ss.placement.soldier.info.update", name = "老兵修改信息", desc = "老兵修改信息")
    BaseResponse<Integer> updateSoldierInfoBySoldier(PlacementSoldierInfoUpdateRequest request);
    @ApiServiceType(value = "soldier.ss.placement.archive.score.represent.add", name = "申诉档案分", desc = "申诉档案分", opsLog = "安置")
    BaseResponse<Integer> representArchiveScore(final CommonRepresentationRecordInsertRequest request);
}
